package com.example.myapplication

import kotlin.concurrent.thread

fun main() {
    findZero(listOf(0, 1, 2))
}

fun findZero(list: List<Int>): Boolean {
    list.forEach {
        if (it == 0) {
            return@forEach
        }
        println(it)
    }
    return false
}

fun call() {
    makeChange {
        // 加了crossinline可以实现内联函数函数类型参数的间接调用，
        // 但是禁止lambda表达式中return,
        //return
    }
}

inline fun makeChange(crossinline block: () -> Unit) {
    thread {
        // 报错，内敛函数的函数类型参数不允许间接调用，因为函数可能有非局部返回，不知道是返回哪一层的函数
        block()
    }
}

fun mm(block: () -> Unit) {

}